package com.demo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * dvt诊断表
 * @author zm
 * @since 2020-11-30
 */
@Data
@TableName("pd_dvt_diagnose")
@ApiModel(value="DvtDiagnose对象", description="dvt诊断表")
public class DvtDiagnose implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "诊断序列号")
    @TableId(value = "dvt_diagnose_id", type = IdType.AUTO)
    private Integer dvtDiagnoseId;

    @ApiModelProperty(value = "dvt风险wells诊断项目ID序号,多个用逗号隔开")
    @TableField("dvt_item_id")
    private String dvtItemId;

    @ApiModelProperty(value = "病患序列号")
    @TableField("patient_id")
    private Integer patientId;

    @ApiModelProperty(value = "诊断时机1新入2术后3分娩4出院5病情变化6定期")
    @TableField("diagnose_opportunity")
    @NotNull(message = "诊断时机不能为空")
    private Integer diagnoseOpportunity;

    @ApiModelProperty(value = "评估结果得分")
    @TableField("detect_score")
    @NotNull(message = "评估结果得分不能为空")
    private Integer detectScore;

    @ApiModelProperty(value = "dvt临床可能性等级评估1低度2中度3高度")
    @TableField("detect_rank")
    @NotNull(message = "dvt临床可能性等级评估不能为空")
    private Integer detectRank;

    @ApiModelProperty(value = "d-二聚体检测录入时间")
    @TableField("d_dimer_detect_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date detectTime;

    @ApiModelProperty(value = "d-二聚体检测录入结果人")
    @TableField("d_dimer_detect_user_id")
    private Integer detectUserId;

    @ApiModelProperty(value = "d-二聚体检测结果1阳性0阴性")
    @TableField("d_dimer_detect_result")
    private Integer detectResult;

    @ApiModelProperty(value = "静脉加压超声检查结果录入时间")
    @TableField("venous_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date venousTime;

    @ApiModelProperty(value = "静脉加压超声检查结果录入人")
    @TableField("venous_user_id")
    private Integer venousUserId;

    @ApiModelProperty(value = "静脉加压超声检查结果1阳性0阴性")
    @TableField("venous_result")
    private Integer venousResult;

    @ApiModelProperty(value = "dvt筛查考虑")
    @TableField("detect_consider")
    private String detectConsider;

    @ApiModelProperty(value = "处置建议")
    @TableField("detect_advise")
    private String detectAdvise;

    @ApiModelProperty(value = "删除时间")
    @TableField("deleted_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deletedTime;

    @ApiModelProperty(value = "删除人ID号")
    @TableField("deleted_user_id")
    private Integer deletedUserId;

    @ApiModelProperty(value = "创建时间&诊断时间")
    @TableField(value = "created_time",fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;

    @ApiModelProperty(value = "创建人ID号&诊断时间")
    @TableField("created_user_id")
    @NotNull(message = "创建人ID不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Integer createdUserId;

    @ApiModelProperty(value = "签字时间")
    @TableField("sign_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date signTime;

    @ApiModelProperty(value = "签字ID号")
    @TableField("sign_user_id")
    private Integer signUserId;

    @ApiModelProperty(value = "更新时间")
    @TableField(value = "updated_time",fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedTime;

    @ApiModelProperty(value = "更新人ID号")
    @TableField("updated_user_id")
    private Integer updatedUserId;

    @ApiModelProperty(value = "诊断结果0诊断中 1.诊断完成")
    @TableField("diagnose_result")
    private Integer diagnoseResult;

    @ApiModelProperty(value = "下次评估时间")
    @TableField("next_diagnose_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nextDiagnoseTime;

    @ApiModelProperty(value = "科室编号")
    @TableField("dept_sn")
    private Integer deptSn;

    @ApiModelProperty(value = "Well's DVT评分量表结果【json】")
    @TableField("wells_scores")
    private String wellsScores;

    /**
     * 签字医生名字
     */
    @TableField(exist = false)
    private String signUserName;
}
